home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_fcntl.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  70 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. """Test program for the fcntl C module.
  5.    OS/2+EMX doesn't support the file locking operations.
  6.    Roger E. Masse
  7. """
  8. import struct
  9. import fcntl
  10. import os
  11. import sys
  12. from test.test_support import verbose, TESTFN
  13. filename = TESTFN
  14.  
  15. try:
  16.     os.O_LARGEFILE
  17. except AttributeError:
  18.     start_len = 'll'
  19.  
  20. start_len = 'qq'
  21. if sys.platform.startswith('atheos'):
  22.     start_len = 'qq'
  23.  
  24. if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin', 'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5', 'freebsd6', 'bsdos2', 'bsdos3', 'bsdos4', 'openbsd', 'openbsd2', 'openbsd3'):
  25.     if struct.calcsize('l') == 8:
  26.         off_t = 'l'
  27.         pid_t = 'i'
  28.     else:
  29.         off_t = 'lxxxx'
  30.         pid_t = 'l'
  31.     lockdata = struct.pack(off_t + off_t + pid_t + 'hh', 0, 0, 0, fcntl.F_WRLCK, 0)
  32. elif sys.platform in [
  33.     'aix3',
  34.     'aix4',
  35.     'hp-uxB',
  36.     'unixware7']:
  37.     lockdata = struct.pack('hhlllii', fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
  38. elif sys.platform in [
  39.     'os2emx']:
  40.     lockdata = None
  41. else:
  42.     lockdata = struct.pack('hh' + start_len + 'hh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)
  43. if lockdata:
  44.     if verbose:
  45.         print 'struct.pack: ', repr(lockdata)
  46.     
  47.  
  48. f = open(filename, 'w')
  49. rv = fcntl.fcntl(f.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
  50. if verbose:
  51.     print 'Status from fcntl with O_NONBLOCK: ', rv
  52.  
  53. if sys.platform not in [
  54.     'os2emx']:
  55.     rv = fcntl.fcntl(f.fileno(), fcntl.F_SETLKW, lockdata)
  56.     if verbose:
  57.         print 'String from fcntl with F_SETLKW: ', repr(rv)
  58.     
  59.  
  60. f.close()
  61. os.unlink(filename)
  62. f = open(filename, 'w')
  63. rv = fcntl.fcntl(f, fcntl.F_SETFL, os.O_NONBLOCK)
  64. if sys.platform not in [
  65.     'os2emx']:
  66.     rv = fcntl.fcntl(f, fcntl.F_SETLKW, lockdata)
  67.  
  68. f.close()
  69. os.unlink(filename)
  70.